import 'package:flutter/material.dart';
import 'package:PiliPalaX/utils/feed_back.dart';

// class MenuRow extends StatelessWidget {
//   const MenuRow({
//     super.key,
//     this.loadingStatus,
//   });
//   final bool? loadingStatus;
//
//   @override
//   Widget build(BuildContext context) {
//     return Container(
//       width: double.infinity,
//       color: Theme.of(context).colorScheme.background,
//       padding: const EdgeInsets.only(top: 9, bottom: 9, left: 12),
//       child: SingleChildScrollView(
//         scrollDirection: Axis.horizontal,
//         child: Row(children: [
//           ActionRowLineItem(
//             onTap: () => {},
//             loadingStatus: loadingStatus,
//             text: '推荐',
//             selectStatus: false,
//           ),
//           const SizedBox(width: 8),
//           ActionRowLineItem(
//             onTap: () => {},
//             loadingStatus: loadingStatus,
//             text: '弹幕',
//             selectStatus: false,
//           ),
//           const SizedBox(width: 8),
//           ActionRowLineItem(
//             onTap: () => {},
//             loadingStatus: loadingStatus,
//             text: '评论列表',
//             selectStatus: false,
//           ),
//           const SizedBox(width: 8),
//           ActionRowLineItem(
//             onTap: () => {},
//             loadingStatus: loadingStatus,
//             text: '播放列表',
//             selectStatus: false,
//           ),
//         ]),
//       ),
//     );
//   }
//
//   Widget actionRowLineItem(
//       BuildContext context, Function? onTap, bool? loadingStatus, String? text,
//       {bool selectStatus = false}) {
//     return Material(
//       color: selectStatus
//           ? Theme.of(context).highlightColor.withOpacity(0.2)
//           : Colors.transparent,
//       borderRadius: const BorderRadius.all(Radius.circular(30)),
//       clipBehavior: Clip.hardEdge,
//       child: InkWell(
//         onTap: () => {
//           feedBack(),
//           onTap!(),
//         },
//         child: Container(
//           padding: const EdgeInsets.fromLTRB(13, 5.5, 13, 4.5),
//           decoration: BoxDecoration(
//             borderRadius: const BorderRadius.all(Radius.circular(30)),
//             border: Border.all(
//               color: selectStatus
//                   ? Colors.transparent
//                   : Theme.of(context).highlightColor.withOpacity(0.2),
//             ),
//           ),
//           child: Row(
//             mainAxisSize: MainAxisSize.min,
//             children: [
//               AnimatedOpacity(
//                 opacity: loadingStatus! ? 0 : 1,
//                 duration: const Duration(milliseconds: 200),
//                 child: Text(
//                   text!,
//                   style: TextStyle(
//                       fontSize: 13,
//                       color: selectStatus
//                           ? Theme.of(context).colorScheme.onBackground
//                           : Theme.of(context).colorScheme.outline),
//                 ),
//               ),
//             ],
//           ),
//         ),
//       ),
//     );
//   }
// }

class ActionRowLineItem extends StatelessWidget {
  const ActionRowLineItem({
    super.key,
    required this.selectStatus,
    this.onTap,
    this.text,
    this.loadingStatus = false,
    this.icon,
  });
  final bool selectStatus;
  final Function? onTap;
  final bool? loadingStatus;
  final String? text;
  final IconData? icon;

  @override
  Widget build(BuildContext context) {
    return Material(
      color: selectStatus
          ? Theme.of(context).colorScheme.secondaryContainer
          : Colors.transparent,
      borderRadius: const BorderRadius.all(Radius.circular(30)),
      clipBehavior: Clip.hardEdge,
      child: InkWell(
        onTap: () => {
          feedBack(),
          onTap!(),
        },
        child: Container(
          padding: const EdgeInsets.fromLTRB(14, 8, 14, 7),
          decoration: BoxDecoration(
            borderRadius: const BorderRadius.all(Radius.circular(30)),
            border: Border.all(
              color: selectStatus!
                  ? Colors.transparent
                  : Theme.of(context).colorScheme.secondaryContainer,
            ),
          ),
          child: Row(
            mainAxisSize: MainAxisSize.min,
            children: [
              if (icon != null) ...[
                Icon(
                  icon,
                  size: 13,
                  color: selectStatus!
                      ? Theme.of(context).colorScheme.onSecondaryContainer
                      : Theme.of(context).colorScheme.outline,
                ),
                const SizedBox(width: 4),
              ],
              AnimatedOpacity(
                opacity: loadingStatus! ? 0 : 1,
                duration: const Duration(milliseconds: 200),
                child: Text(
                  text!,
                  style: TextStyle(
                      fontSize: 13,
                      color: selectStatus!
                          ? Theme.of(context).colorScheme.onSecondaryContainer
                          : Theme.of(context).colorScheme.outline),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
